package com.ymatou.iapi.coupon.service;

import java.util.ArrayList;

import org.json.JSONException;
import org.json.JSONObject;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.ymatou.iapi.coupon.parameter.CouponInfo;
import com.ymatou.iapi.coupon.parameter.SellerCouponsList;
import com.ymatou.iapi.godmch.parameter.RoleDto;
import com.ymt.base.YmatouBaseCall;
import com.ymt.core.tool.FormatUtil;
import com.ymttest.utils.DataUtil;
import com.ymttest.utils.EnvSetup;
/**
*在商详页推荐最优的平台券、买手券、凑单券Call
*FreeMaker Template自动生成代码
*/
public class ChooseCouponAutoInProductDetailCall extends YmatouBaseCall{
	private static String opurl ="api/Promotion/ChooseCouponAutoInProductDetail";
	
	public ChooseCouponAutoInProductDetailCall() {
		super(EnvSetup.getSystemUrl("couponiapi"),opurl,"POST","JSON");
	}
	@Override
	public void addDefHeader() {
		client.addHeader("Accept","text/xml,text/javascript,text/html,application/json");
		client.addHeader("Content-Type", "application/json; charset=UTF-8");
	}
	
	
	public String getErrorCode() throws JSONException
    {
        return new JSONObject(getData()). getString("errorCode");
    }

    public String getMessage() throws JSONException
    {
        return new JSONObject(getData()). getString("errorMessage");
    }

    public String getData()
    {
        return getString("data");
    }

    public String getBestIsNext() throws JSONException
    {
        return new JSONObject(getData()). getString("bestIsNext");
    }
    /**
     * 当前可用平台优惠券
     * 下一场可用平台优惠券（用券开始时间为指定时间之后 优惠金额最大）
     * @return
     */
    public CouponInfo getbestPlatformCoupon()
    {
    	CouponInfo data = null;
        try {
            data =
                    (CouponInfo) FormatUtil.GSONToObject(
                    		DataUtil.Json.parseJsonObj(getData()).getJSONObject("BestPlatformCoupon").toString(), CouponInfo.class);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return data;
    }
    /**
     * 当前可用买手优惠券（优惠金额最大）
                下一场可用买手优惠券（用券开始时间为指定时间之后 优惠金额最大）
     * @return
     */
    public CouponInfo getbestSellerCoupon()
    {
    	CouponInfo data = null;
        try {
        	//data =(CouponInfo)new Gson().fromJson(getJsonObject().get("data").getAsJsonObject().get("bestSellerCoupon").toString(),  CouponInfo.class);
        	
            data =
                    (CouponInfo) FormatUtil.GSONToObject(
                    		DataUtil.Json.parseJsonObj(getData()).get("BestSellerCoupon").toString(), CouponInfo.class);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return data;
    }
    /**
     * 	最低可凑单平台优惠券（金额门槛-最低规格价 最小）
     * @return
     */
    public CouponInfo geteasyUsePlatformCoupon()
    {
    	CouponInfo data = null;
        try {
            data =
                    (CouponInfo) FormatUtil.GSONToObject(
                    		DataUtil.Json.parseJsonObj(getData()).get("EasyUsePlatformCoupon").toString(), CouponInfo.class);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return data;
    }
    /**
     * 	最高可凑单平台优惠券（优惠金额 最大）
     * @return
     */
    public CouponInfo gethardUsePlatformCoupon()
    {
    	CouponInfo data = null;
        try {
            data =
                    (CouponInfo) FormatUtil.GSONToObject(
                    		DataUtil.Json.parseJsonObj(getData()).get("HardUsePlatformCoupon").toString(), CouponInfo.class);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return data;
    }
}